{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "134e7f9d",
   "metadata": {},
   "source": [
    "# API 12: Checkpoint, save & load model"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6459e11a",
   "metadata": {},
   "source": [
    "Whenever the KAN (model) is altered (e.g., fit, prune ...), a new version is saved to the model.ckpt folder (by default 'model'). The version number is 'a.b', where a is the round number (starting from zero, +1 when model.rewind() is called), b is the version number in each round. "
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0b257f90",
   "metadata": {},
   "source": [
    "the initialized model has version 0.0"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "c3faa4ed",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "cuda\n",
      "checkpoint directory created: ./model\n",
      "saving model version 0.0\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 500x400 with 22 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "from kan import *\n",
    "import torch\n",
    "\n",
    "device = torch.device('cuda' if torch.cuda.is_available() else 'cpu')\n",
    "print(device)\n",
    "\n",
    "f = lambda x: torch.exp(torch.sin(torch.pi*x[:,[0]]) + x[:,[1]]**2)\n",
    "dataset = create_dataset(f, n_var=2, device=device)\n",
    "model = KAN(width=[2,5,1], grid=5, k=3, seed=1, auto_save=True, device=device)\n",
    "model.get_act(dataset)\n",
    "model.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "b672e3b9",
   "metadata": {},
   "source": [
    "the auto_save is on (by default)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "a3353b8a",
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "True"
      ]
     },
     "execution_count": 2,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model.auto_save"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "c117cf01",
   "metadata": {},
   "source": [
    "After fitting, the version becomes 0.1"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "c9d51cba",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "| train_loss: 3.34e-02 | test_loss: 3.29e-02 | reg: 4.93e+00 | : 100%|█| 20/20 [00:03<00:00,  5.10it\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "saving model version 0.1\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 500x400 with 22 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.fit(dataset, opt=\"LBFGS\", steps=20, lamb=0.01);\n",
    "model.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "afdf5c2b",
   "metadata": {},
   "source": [
    "After pruning, the version becomes 0.2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "6c9d99dd",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "saving model version 0.2\n"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAZcAAAFICAYAAACcDrP3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAuN0lEQVR4nO3de1hTd57H8c8v4RZuIhhvg7YEUcF6AwEFVBxRnFJbbztaH/dZp50dra0+Y2d2tp12ttapte20O2BvunTGUdcpjsVabxWnFu8XEBSoN1SoCHiHIBCSkOTsH5WstFZRTjhJ+Lyexz9qTPiiPbzzO+fkHCFJkgQiIiIZqZQegIiI3A/jQkREsmNciIhIdowLERHJjnEhIiLZMS5ERCQ7xoWIiGTHuBARkewYFyIikh3jQkREsmNciIhIdowLERHJjnEhIiLZMS5ERCQ7xoWIiGTnofQARK5AkiTcvHkTDQ0N8Pf3R0hICIQQSo9F5LS4ciG6B71ej4yMDERERECr1SIsLAxarRYRERHIyMiAXq9XekQipyR4J0qiu8vJycH06dNhMBgAfLd6adGyavH19UV2djZSU1MVmZHIWTEuRHeRk5ODtLQ0SJIEm832o39OpVJBCIHt27czMER3YFyIvkev1yM0NBRNTU33DEsLlUoFjUaDyspKBAUFOX5AIhfAYy5E37NmzRoYDIY2hQUAbDYbDAYD1q5d6+DJiFwHVy5Ed5AkCRERESgrK8ODbBpCCOh0Opw7d45nkRGBcSFq5caNG9Bqte16fkhIiIwTEbkm7hYjukNDQ0O7nl9fXy/TJESujXEhuoO/v3+7nh8QECDTJESujXEhukNISAjCw8Mf+LiJEALh4eEIDg520GREroVxIbqDEAILFy58qOcuWrSIB/OJbuMBfaLv4edciNqPKxei7wkKCkJ2djaEEFCp7r2JtHxCf9OmTQwL0R0YF6K7SE1Nxfbt26HRaCCE+MHurpbf02g02LFjByZOnKjQpETOiXEh+hGpqamorKxEeno6dDpdq8d0Oh3S09NRVVXFsBDdBY+5ELWBJEnIzc3F+PHjsXv3bowbN44H74nugSsXojYQQtiPqQQFBTEsRPfBuBARkewYFyIikh3jQkREsmNciIhIdowLERHJjnEhIiLZMS5ERCQ7xoWIiGTHuBARkewYFyIikh3jQkREsmNciIhIdowLERHJjnEhIiLZMS5ERCQ7xoWIiGTHuBDdR3NzM6qqqnD69GkAwIULF1BTUwObzabwZETOi7c5JvoRer0e2dnZWL9+PU6ePIn6+nqYzWb4+PhAq9Vi9OjRePbZZ5GYmAgPDw+lxyVyKowL0V0cPnwYixcvRnFxMWJjY5GWloYhQ4bA398fer0eBQUF2Lp1K86fP4+ZM2fijTfegFarVXpsIqfBuBB9z65duzB37lz4+/tj+fLlePzxx2E2m5GVlQWTyYTAwEDMmjULzc3NyMrKwpIlSzBo0CCsW7cOPXr0UHp8IqfAuBDdobS0FJMmTYKfnx+ysrIQFRUFIQTKysoQHR2Nuro6hIWFoaCgAF27doUkSThw4ABmz56N5ORkfPLJJ/D29lb62yBSHA/oE91mtVrx5ptvora2Fh988IE9LPcihEBSUhLeeecdfPHFF9i5c2cHTUvk3BgXotvOnz+PrVu3Ytq0aUhKSrpvWFoIITBlyhSMHDkSmZmZsFgsDp6UyPnxFBei2w4dOoSGhgZMnz4d3377LRobG+2PVVZWwmq1AgDMZjNOnjyJwMBA++O9e/fGtGnTsGTJEly5cgWhoaEdPj+RM2FciG47c+YMfH19odPpMG/ePBw8eND+mCRJMJlMAIDq6mpMmDDB/pgQAu+99x4GDx4Mg8GA6upqxoU6PcaF6LampiZ4eHjA29sbJpMJRqPxrn9OkqQfPGaxWKDRaFpFiKgzY1yIbuvevTuampqg1+sRHx8PPz8/+2NNTU04dOiQPSIJCQn2D04KIdC3b19cu3YNKpUKXbt2VepbIHIajAvRbTExMWhubkZeXh7efvvtVo+VlZUhNjYWdXV16NGjBzZs2ICgoCD740II/P73v0fPnj25S4wIPFuMyC4uLg46nQ5r1qxBY2Mj1Gp1q18thBBQqVT231epVLh8+TI+++wzpKWloUuXLgp+F0TOgXEhui0kJAQvvPACCgsLsWLFijafUmwymfDHP/4RTU1NmDdvXptPYSZyZ9wtRnSHuXPnYt++fXj77bfh6+uL5557Dj4+PgAADw8PeHh42FcxkiShvr4ey5YtQ1ZWFv785z9jwIABSo5P5DR4+Rei77l+/Tqef/55bNu2DampqVi8eDEiIyNx9uxZ2Gw2eHl5oV+/fsjLy8O7776LEydOYOnSpXjuueda7T4j6swYF6K7aGxsRGZmJlasWIGrV69Cp9MhIiICAQEBqK2txdmzZ1FdXY2YmBi89tprGDt2LFQq7mUmasG4EN3DlStXsHv3buzduxdFRUXIy8vD6NGjkZiYiIkTJyI+Ph6+vr5Kj0nkdBgXojbKz89HXFwc8vPzMWLECKXHIXJqXMcTtZFarbafhkxE98athIiIZMe4EBGR7BgXIiKSHeNCRESyY1yIiEh2jAsREcmOcSEiItkxLkREJDvGhYiIZMe4EBGR7BgXIiKSHeNCRESyY1yIiEh2jAsREcmO93MhaiNJkmCz2aBSqSCEUHocIqfGlQvRA+C9XIjaxkPpAYjk0NzcjIqKCthsNqVHaTchBPr27QsvLy+lRyF6aIwLuYXKykosWLAAMTExsFqtAL67c6QrKigowEcffYTw8HClRyF6aIwLuQVJkjB48GCMGTMGmZmZ+Jd/+RfMnDlT6bEeyksvvQQeCiVXx7iQ25AkCf/7v/+LzZs34+bNm3jqqaeg0WiUHuuBMCrkLnh0ktyGSqXC3Llz4eXlhby8PBw9epQ/rIkUwriQW0lISEBMTAxMJhNWr17tFgf4iVwR40JuRaPRYO7cuRBC4Msvv0R5ebnSIxF1SowLuZ0nnngCffv2xc2bN7FhwwbuGiNSAONCbqdHjx6YPn06AODTTz+FXq9XdiCiTohxIbcjhMCcOXMQEBCA0tJSfPXVV1y9EHUwxoXcUlRUFMaNGwer1YrVq1ejublZ6ZGIOhXGhdySh4cH5s6dCw8PDxw4cADFxcVcvRB1IMaF3JIQAuPGjUNUVBQaGxuxdu1axoWoAzEu5LYCAgIwZ84cAMDmzZtx+fJlhSci6jwYF3JbQghMnz4dPXr0QHV1NT7//HOuXog6CONCbq1v37548sknIUkS1qxZg4aGBqVHIuoUGBdya0IIzJ07F76+viguLkZubi5XL0QdgHEhtyaEQHR0NMaMGQOLxYLMzEyelkzUARgXcnuenp745S9/CQ8PD+zZsweFhYVcvRA5GONCbk8IgZSUFAwdOhQGgwGrVq3i1ZKJHIxxoU7B398fv/rVr6BSqbBlyxacPn2aqxciB2JcqFMQQmDq1KmIiIiAXq/HypUrGRciB2JcqNMIDg7GvHnzIITAhg0bcObMGQaGyEEYF+o0hBB4+umnERERgZqaGqxYsYLHXogchHGhTkWr1eKFF16ASqXChg0bUFBQwNULkQMwLtSpCCEwe/ZsDBkyBLdu3cLy5cthNpuVHovI7TAu1OkEBQXhpZdegqenJ3bu3IktW7Zw9UIkM8aFOh0hBCZPnoxJkybBbDZj6dKluHr1qtJjEbkVxoU6JW9vb7z22msICQnBqVOn8Pbbb8NisSg9FpHbYFyoUxJCYOjQoXjxxRehUqnwySefYOfOndw9RiQTxoU6LZVKhQULFmDs2LEwGAz4j//4D1y8eJGBIZIB40KdWkBAAN577z307NkTpaWlWLx4Me/5QiQDxoU6NSEEhgwZgrfeegve3t7Ytm0bli1bxsvyE7UT40KdnhACs2bNwsKFCwEAGRkZWLVqFaxWq8KTEbkuxoUI393z5dVXX8W0adNgNpvxyiuv4NNPP+XlYYgeEuNCdJu/vz/ef/99/PSnP0VDQwMWLVqEDRs2MDBED4FxIbpNCAGtVou//vWvSEhIQF1dHRYsWIA1a9bwMzBED4hxIbqDEAKhoaFYv349Ro8ejVu3bmHhwoV47733YDQaeZoyURsxLkTfI4RAnz598Pe//x0/+9nPYDQa8V//9V9YtGgRbt68ycAQtQHjQnQXQgj06tUL69atw9y5cwEAf/3rXzF16lQUFhYyMET3wbgQ/QghBIKCgvDBBx9g2bJlCAgIwKFDh5CWloYVK1agoaGBkSH6EYwL0T0IIeDj44MXX3wRGzduxKBBg3D9+nX89re/xZQpU3Dw4EFYLBZGhuh7GBeiNlCpVBg/fjxycnIwf/58+Pj4IDc3F2lpaZg/fz5OnToFq9XKyBDdxrgQtZEQAj179kRGRgY2bdqEUaNGwWAwYPXq1UhOTsbzzz+PEydOoLm5mZGhTo9xIXoAQgh4eHggJSUFX375JT7++GNERkaitrYWmZmZSE5Oxs9//nNs3rwZNTU1kCSJoaFOiXEheghCCAQEBODZZ5/F3r178cEHH2Do0KFoamrCli1bMHPmTMTHx2PhwoXYtWsXrl+/zt1m1Kl4KD0AkSsTQiAkJATz5s3D7NmzsXv3bqxZswb79u1DWVkZPv74Y/zP//wPevXqhejoaCQlJSEmJgbh4eEIDg6Gt7c31Gq10t8GkewYFyIZCCEQGBiIKVOmYPLkySgrK8OOHTuwZcsWFBUVoaqqCpWVldiyZQs8PDwQEBCA7t27o1evXtBqtejSpQu8vb0xevRopb8VIlkwLkQyajkm079/f0RERGDBggW4dOkSjh49itzcXBQWFuLixYuor69HbW0tzp492+r5NpsNfn5+Ck1PJB/GhdyOMx3X8PT0hE6ng06nw9NPPw2j0Yjr16/j4sWLKCsrQ0VFBa5evYpbt27BbDYjOjr6B8EhckWMC7kFIQRKSkrw+uuvKz3KA+vWrRu6desGSZJw8eJFFBUVQQih9FhE7SIkZ3qbR/SQzGYzysrK3OLukSqVCuHh4fDy8lJ6FKKHxrgQEZHsuFuMqI3ufB/G3VZE98YPURK10fHjx6FWq3H8+HGlRyFyeowLERHJjnEhIiLZMS5ERCQ7xoWIiGTHuBARkewYFyIikh3jQkREsmNciIhIdowLERHJjnEhIiLZMS5ERCQ7xoWIiGTHuBARkewYFyIikh3jQkREsmNciNpAkiTU1tYCAGpra8EbuBLdG+NCdA96vR4ZGRmIiIhASkoKJElCSkoKIiIikJGRAb1er/SIRE5JSHwLRnRXOTk5mD59OgwGA4C73+bY19cX2dnZSE1NVWRGImfFuBDdRU5ODtLS0iBJEmw224/+OZVKBSEEtm/fzsAQ3YFxIfoevV6P0NBQNDU13TMsLVQqFTQaDSorKxEUFOT4AYlcAI+5EH3PmjVrYDAY2hQWALDZbDAYDFi7dq2DJyNyHVy5EN1BkiRERESgrKzsgc4IE0JAp9Ph3Llz9uMxRJ0Z40J0hxs3bkCr1bbr+SEhITJOROSauFuM6A4NDQ3ten59fb1MkxC5NsaF6A7+/v7ten5AQIBMkxC5NsaF6A4hISEIDw9/4OMmQgiEh4cjODjYQZMRuRbGhegOQggsXLjwoZ67aNEiHswnuo0H9Im+h59zIWo/rlyIvicoKAjZ2dkQQkCluvcm0vIJ/U2bNjEsRHdgXIjuIjU1Fdu3b4dGo4EQ4ge7u1p+T6PRYMeOHZg4caJCkxI5J8aF6EekpqaisrIS6enp0Ol0rR7T6XRIT09HVVUVw0J0FzzmQtQGkiQhNzcX48ePx+7duzFu3DgevCe6B65ciNpACGE/phIUFMSwEN0H40JERLJjXIiISHaMCxERyY5xISIi2TEuREQkO8aFiIhkx7gQEZHsGBciIpId40JERLJjXIiISHaMCxERyY5xISIi2TEuREQkO8aFiIhkx7gQEZHsGBciIpId40J0H83NzaiqqsLp06cBABcuXEBNTQ1sNpvCkxE5L97mmOhH6PV6ZGdnY/369Th58iTq6+thNpvh4+MDrVaL0aNH49lnn0ViYiI8PDyUHpfIqTAuRHdx+PBhLF68GMXFxYiNjUVaWhqGDBkCf39/6PV6FBQUYOvWrTh//jxmzpyJN954A1qtVumxiZwG40L0Pbt27cLcuXPh7++P5cuX4/HHH4fZbEZWVhZMJhMCAwMxa9YsNDc3IysrC0uWLMGgQYOwbt069OjRQ+nxiZwC40J0h9LSUkyaNAl+fn7IyspCVFQUhBAoKytDdHQ06urqEBYWhoKCAnTt2hWSJOHAgQOYPXs2kpOT8cknn8Db21vpb4NIcTygT3Sb1WrFm2++idraWnzwwQf2sNyLEAJJSUl455138MUXX2Dnzp0dNC2Rc2NciG47f/48tm7dimnTpiEpKem+YWkhhMCUKVMwcuRIZGZmwmKxOHhSIufHU1yIbjt06BAaGhowffp0fPvtt2hsbLQ/VllZCavVCgAwm804efIkAgMD7Y/37t0b06ZNw5IlS3DlyhWEhoZ2+PxEzoRxIbrtzJkz8PX1hU6nw7x583Dw4EH7Y5IkwWQyAQCqq6sxYcIE+2NCCLz33nsYPHgwDAYDqqurGRfq9BgXotuamprg4eEBb29vmEwmGI3Gu/45SZJ+8JjFYoFGo2kVIaLOjHGhTq+8vBx79uzB/v37YTAYoNfrER8fDz8/P/ufaWpqwqFDh+wRSUhIsH9wUgiBvn374tq1a7BaraiqqoLJZOJZY9Sp8VRk6nQqKiqwd+9e5ObmYs+ePbh48SKEEAgLC0N5eTk+/PBD/PKXv2z1nLKyMsTGxqKurg6PPvoojh07hqCgIPvjQgj8/ve/x4oVK6DT6aDRaDBkyBDExsYiNjYWgwcPhpeXVwd/p0TKYVzI7VVVVWHPnj32X2VlZQCAoUOHYuzYsRg3bhxGjx4Nm82GpKQkdO3aFTt37mx1wP7HPucCfLebrLq6GmPHjsXkyZMxb948HDt2zP6rvr4e3t7eGDZsGEaMGIG4uDgMGjQInp6eivx9EHUExoXczpUrV1rF5Ny5cwCAxx57zB6TMWPGICQk5AfP/fDDD/Gb3/wGr776Kl566SX7rq97xcVoNOLXv/41tm7diq+//hoDBgywv57NZsPZs2dx7Ngx5OXloaCgAI2NjfDx8cHw4cPtK5uoqChen4zcCuNCLu/atWvYu3evPSZnzpwBAERGRraKSffu3e/7Wo2NjXjmmWewY8cOvP7663juuefg4+OD8vJyxMXF2XeL5eXlISgoCPX19Vi2bBlWrVqFP//5z/jFL35xz9e3Wq04c+YM8vLycOzYMRQWFsJgMMDX19cem7i4OAwcOBBqtVqWvx8iJTAu5HJu3LiBffv22WNy8uRJAED//v3tMRk7dix69uz5UK9//fp1PP/889i2bRtSU1OxePFiREZG4uzZs7DZbPDy8kK/fv2Ql5eHd999FydOnMDSpUvx3HPPPXAQLBYLTp06hfz8fOTn5+P48eMwGo3w8/NDdHQ04uLiEBsbiwEDBkCl4meeyXUwLuT0amtrsW/fPuTm5mLv3r0oLi4GAISHh7eKyU9+8hPZvmZjYyMyMzOxYsUKXL16FTqdDhEREQgICEBtbS3Onj2L6upqxMTE4LXXXsPYsWNl+eHf3NyMkydP2mNz4sQJmEwmBAQEICYmxr4bLSIigrEhp8a4kNOpq6vD/v377TE5ceIEJEnCo48+iuTkZPuvPn36OHyWK1euYPfu3di7dy/KyspgNBrRtWtXPPbYY5g4cSLi4+Ph6+vrsK9vNptRUlJiP2ZTXFwMs9mMLl26ICYmxr6yCQ8Pb/Plaog6AuNCiquvr8eBAwfsu7kKCwths9kQGhqK5ORkjBs3DsnJyXj00UcVndNqtUKSJKhUKsVWDSaTCcXFxfaVTXFxMSwWC7p27YoRI0bYVzZhYWGMDSmKcaEO19DQgEOHDtlXJseOHYPVakXv3r1brUx0Oh1/QN6H0WjEiRMncOzYMeTn56OkpARWqxUhISH2055jY2PRt29f/l1Sh2JcyOEMBgMOHz5sj0leXh4sFgt69OjRKiYRERH8AdhOBoMBRUVFyMvLQ35+Pk6ePAmbzQatVmtf1cTGxiI0NJR/1+RQjAvJzmg04siRI/aYHDlyBM3NzdBqtRg7dqw9JgMHDuQPOAdrbGzE8ePH7bvRTp8+DZvNhp49e9p3o8XFxaF3795Kj0puhnGhdjOZTDh69Kj9mMmRI0dgMpkQHBzcKiaDBg1iTBRWX1+PwsJCe2zOnj0LSZLQu3fvViubhz2Nm6gF40IPzGw2Iz8/H3v27EFubi4OHz4Mo9GIoKAgjBkzxh6TwYMH83RZJ1dXV9cqNqWlpQCA0NBQe2ji4uKg1WoVnpRcDeNC99Xc3IyCggJ7TA4dOgSDwYDAwECMHj3a/jmToUOH8lPlLk6v16OgoAD5+fnIy8vDhQsXAAB9+/a1nxwwYsQIdOvWTeFJydkxLvQDFosFx48ft8fk4MGDaGhogL+/P5KSkuwrk+HDh/N6WG6upqbGfiZafn4+ysvLAQBhYWGtdqO1XGeNqAXjQrBarSgqKrLH5MCBA7h16xZ8fX2RmJhoX5nExMTwSr6d3I0bN+yxycvLQ0VFBYDvrpbQsrKJiYlpdTsC6pwYl07IZrOhpKTEHpP9+/dDr9fDx8cHCQkJ9pjExsbyHiR0T9euXbOvavLz81FZWQngu+u8taxqYmJiWt2+gDoHxqUTkCQJJ0+etMdk3759qKmpgbe3N0aOHGmPSXx8PO+eSO1y+fLlViuby5cvQwiBAQMG2E8OiI6Ohr+/v9KjkoMxLm5IkiScOXOmVUyuX78OT09PjBw50n7MZOTIkfDx8VF6XHJjVVVVrVY2V69ehUqlQmRkpH1lM3z48Fa3lCb3wLi4AUmScO7cOXtM9u7di6tXr8LDwwNxcXH2mIwaNcqhF1kkuhdJklBZWWkPTV5eHm7cuAGVSoVBgwbZVzbDhg2DRqNRelxqJ8bFBUmShLKyslYxqa6uhlqtxogRI+wXexw1ahR3P5DTkiQJFRUV9tAcO3YMN2/ehFqtxuDBg+0rm6FDh3KF7YIYFxfx7bfftorJpUuXoFKpEB0dbY9JQkICD5ySy5IkCeXl5a12o+n1enh6eraKzZAhQ3hs0AUwLi4iKioKpaWlGDZsmD0miYmJPOWT3JbNZkNZWZl9ZVNQUIC6ujq88847SE1NVXo8ug/GxUW0/DPx2lzUWUmSBJPJBE9PT14JwgUwLkREJDteu0MGzc3NqKiogM1mU3qUdhNCoG/fvvzwJD2Q5uZmXLlyxW22gV69evFqFO3EuMigsrISCxYsQExMjNKjtFtBQQE++ugjhIeHKz0KuZBr167hjTfeQFRUlNKjtNupU6fw6quvok+fPkqP4tIYFxlIkoQhQ4Zg2bJlbfrzRqMR27Ztw9dff43AwEBMnToVsbGxTnF5+pdeegncU0oPSpIk9O/fH4sWLXLI69fW1qKgoADFxcWoq6tDcHAwhg8fjpiYGNk/gJmens5tQAaMi8zud8Bdr9fjhRdewMaNG2GxWAAAq1atwssvv4zFixcrujuKGxTJQa6TTiRJQl1dHT777DNkZ2f/YLfb2rVrMXDgQCxcuBDx8fGyvDnjNiAfxqUDNTc347XXXkNWVhY8PT0xadIkXLt2DcePH8eSJUvg4+ODhQsXOsUKhkhJNpsNRUVFeOedd3D69GlIkoSuXbti4MCB6N69Oy5fvoxvvvkGJ0+exG9/+1u8+OKLmDJlCs8icyKMSweRJAlfffUV/vKXv0AIgZdeegkvv/wyGhoa8MILL2DDhg1YunQpYmJikJiYyFOOqdOyWCzYsmUL0tPTUVdXh4CAAMyYMQMzZsxAz549oVarYbFYcPr0abz77rsoKirCn/70J3h7eyMtLY3bjpPgW+QO0tjYiOXLl6OpqQnJycn4zW9+Ay8vL3Tt2hXp6emIiYmBXq/Hq6++ioaGBqXHJVJEc3MzVq9ejbfeegt1dXUYOHAg3n//fSxatAihoaHw8PCAEML+qf3//u//Rnx8PJqamvDuu++iuLiYu7acBOPSASRJwpdffomjR49Co9HglVdesR+EFEJAq9XizTffhK+vLw4dOoSNGzdyA6FOpyUsK1euhNlsxrhx4/D+++9j2LBhd91VLIRASEgIlixZgn79+qG2thZvv/029Hp9xw9PP8C4dACTyYSVK1fCYrFg4sSJSEhIaLV0F0IgOTkZU6dOhdVqRUZGBjcQ6lRsNhs2b96MzMxMWK1WPP7441i6dCm0Wu09d3O1fCbl5Zdfhr+/P06dOoU1a9bAarV24PR0N4yLg0mShKNHj+LIkSPw8vLC/Pnz7/rhLLVajcWLFyMwMBCnTp3C5s2buXqhTkGSJOTl5SEjI8O+Ynn55ZcREBDQpuMnQghER0djzpw5AICNGzfim2++4fajMMbFwSRJwpo1a2A0GhEdHY2kpKS7bjBCCAwePBhPPPEEbDYbMjMzYTAYFJiYqONIkoSrV6/irbfeQn19PR577DG88sor8Pf3f6AD8yqVCrNnz0ZkZCQaGhrw8ccfw2QyOXByuh/GxcEuXbqEnTt3QgiBf/3Xf73nTZDUajV+9atfwcfHB4WFhThw4ADffZFbs1gs+PDDD1FeXo7g4GC88sorCAkJeagzvgIDAzF//nx4eXkhPz8fe/bs4fajIMbFgSRJwrZt23Dt2jX07NkTTzzxxH33H8fGxmLkyJFobm7G3/72N7e4VhPR3UiShH379mHnzp1Qq9WYP38+IiMjH/pUYiEERo0ahaSkJFgsFqxevRr19fUyT01txbg4kMlkwoYNGyBJEn72s5+hd+/e932Ot7c3/u3f/g0qlQq7d+9GeXl5B0xK1PHq6uqwatUqmM1mjBo1Ck8++WS7P6Pi6emJZ555Bn5+figtLUVOTg5XLwphXByoqKgIhYWF8PLywqxZs9p8cDI1NRWhoaG4efMmvvjiC24c5HYkScLnn3+O0tJSBAQEYMGCBbLcylgIgcjISEyYMAE2mw1///vfeealQhgXB5EkCRs3bkRTUxMiIyMRFxfX5ndlWq0WaWlpAGB/DSJ3cu3aNfuqfvLkyRg4cKBsn6xXq9WYM2cOAgMDUV5eji+//JJv0BTAuDhITU0Ntm7dCgCYPn06/P392/xcIQR+/vOfw9vbGyUlJThx4oSDpiTqeJIkYfPmzbh8+TK6deuG2bNny3o9PSEEdDodJk6cCEmS8I9//IOrFwUwLg7QcqCyvLwcgYGBmDJlygO9KxNCICYmBlFRUTAajdi0aRPfeZHbuHHjBj7//HMAwOTJk/GTn/xE9uuBqVQqPP300wgMDMS3337LYy8KYFwcwGq14tNPP4XVakVCQgL69+//wK/h6+uLp556CgCwY8cO1NXVyT0mUYeTJAk5OTm4cuUKgoODMW3aNIdcBVwIgbCwMKSkpNhXL7du3ZL969CPY1wcoLy8HLm5ufYPdnl4PPjFp4UQmDx5Mvz8/HDhwgXk5eXxnRe5vMbGRvtJKuPHj0doaKjDvpZKpcLMmTPh7++P8vJy7N69m9tQB2JcZCZJErKzs1FTU4M+ffogJSXloZf8AwcOxLBhw2CxWPD5559zwyCXJkkS8vPzceHCBWg0GkydOtWh9y4SQiAiIgLjxo2DzWZDVlYWrzjegRgXmd26dQtZWVkAgKeeegrdu3d/6Nfy9va27xr76quvUFtbK8uMREqwWq3YsmULrFYrhg8f/lC7ix+USqXCrFmz4Ovri/Pnz2P//v18k9ZBGBeZ7d69G6dPn4afnx/mzJnTrgOVQghMmjQJAQEBqKiowNGjR7lhkMu6dOkS8vPzoVKp8OSTTz7U7uIHJYTAgAEDkJiYCKvVig0bNsBoNDr86xLjIiuTyYRVq1bBYrEgOTkZgwcPbvdr9uvXD9HR0bBYLLxSMrksSZLw9ddfo76+Hr1798bIkSM77I6RHh4emDlzJry9vfHNN9/g2LFj3I46AOMio71792L//v3w8vLCvHnz7npp/Qfl5eWFJ598EgDw9ddfo6ampt2v+X02m43XMCOHMhqN+Oc//wkAGDt2LIKCgjrsawshMGTIEPvxy88++wwWi6XDvn5nxbjIxGKxYOXKlTCZTEhKSsJPf/pTWd6ZtVwOJjAwEBUVFThy5Iis77okScKGDRvwzDPPICcnh5Eh2UmShDNnzuDChQvw8vLChAkTOnwGLy8vTJ8+HWq12n5SATkW4yITtVqNJUuW4Nlnn8Xvfvc7Wa6T1CI8PBzR0dGwWq2yX2vMYrFg/fr1WLduHdavXy/b6xLdaffu3TCbzQgPD5f1Ui9t1XLF5EceeQSNjY3YsWMHd405GOMik5al98qVKzF+/HhZNx5PT0/7WWNy7xprOVFApVLhqaeecuipodQ5NTQ04MCBAwCAcePGyfrG60EEBARg0qRJAL6LHS8J41j8SSIzlUol+w9oIQQmTpyILl264NKlSzh8+LAs77paDrLW1taiV69eSEpKkmFaotZOnz6NS5cuwcfHB2PGjOnwVUsLIQQmTJiAgIAAVFdXIz8/n6sXB2JcXIROp0NMTAysVqtsZ43deQbamDFjoNVqZZiU6P9JkoS9e/fCYrGgX79+CAsLU3SePn36YPjw4bDZbDzG6GCMi4vw9PRsddbYjRs32v2ad+4SmzJlCneJkewMBgMOHz4MABgzZgy8vb0VncfDwwOpqakQQqCgoABXr15VdB53xp8mLqLlrLGgoCBUVVXhwIED7Vq9SJKEf/7zn6itrUXv3r25S4wc4ty5c7h06RK8vb2RmJio2C6xFi23Eg8JCYFer+c1+xyIcXEhYWFhiI+Ph9VqxaZNm9q1pG9ubrZf9jw5Obldl6khuhtJknDw4EGYzWY88sgj0Ol0So8EAOjWrRuGDx9u32XHXWOOwbi4EA8PD0ybNg1CCOTm5uLy5csP/VotV1pWq9X21ySSk9lstu8SGzlyJDQajcITfUelUiE5ORlCCBQXF+PmzZtKj+SWGBcX0nK2i1arxdWrVx/6EuKSJGHHjh24desW+vbt6xS7K8j9VFZWoqysDGq1GomJiUqPYyeEwPDhwxEYGIiamhqUlJRw15gDMC4uJjQ0FGPHjoUkScjKykJzc/MDv0bL3S0BIDU1FcHBwXKPSZ2cJEkoKChAY2MjunfvjgEDBjjVG5iWmWw2m311RfJiXFxMy+1b1Wo1Dh8+jLNnzz7Q8yVJQlFREYqKiuDl5YUZM2Y41UZP7uHOH9rDhg1Dly5dFJ6oNQ8PD8THxwMAjh8/jqamJoUncj+Mi4sRQmD06NEIDw9HfX09Pvvsswde0v/jH/9AU1MToqKiEBsby7iQ7Gpra1FSUgIhBBISEpzu/zEhBEaMGAFPT09UVlaisrJS6ZHcDuPigrp27Ypp06YBADZu3PhANxG7ceMGtmzZAgCYMWMG/Pz8HDIjdV4tF6qsqamBn58fhg4d6nRxAb47+7J79+4wGo0oLi7mcReZMS4uSAiBWbNmITAwEOfPn8euXbvatGFIkoRdu3bh4sWL9kA540ZPru/o0aOwWq0IDw9Hr169lB7nrvz9/TFw4EAAQGFhIeMiM8bFRUVGRiIlJQVWqxWZmZlturueyWTC6tWrYbPZMH78eISHh3fApNTZmEwmFBQUAIB915MzUqlUiI6OBgCcOnWKx11kxri4KLVajX//93+Hl5cXDh8+jH379t3znZckSThy5AgOHz4MT09P/OIXv4Bare7AiamzuHLlCi5evAi1Wu3Ux/SEEBg8eDA8PT1x5cqVdn1ujH6IcXFRLQf2ExMTYTKZkJ6eDpPJ9KN/3mKx4KOPPoLRaMSIESMwevRop93oybWVlJSgsbERISEh6N+/v9Lj3FPfvn0RHBwMo9H4wGde0r0xLi7Mx8cHv/71r+Hl5YXc3Fxs3779rqsXSZJw9OhR7Ny5E2q1GgsWLICvr68CE5O7kyTJfr2ugQMHdujtjB9GQEAAdDodJElCSUmJ0uO4FcbFhQkhkJKSgokTJ6K5uRl//OMfce3atR8Exmg0Yvny5WhsbERMTAwmT57MVQs5hMFgsP+Qjo2NdforbavVakRFRQH47r4zFotF4Ynch3P/y9N9eXt74w9/+AOCg4NRUlKCJUuWwGw22x+XJAnr1q3DV199BW9vb/znf/4n/P39FZyY3NmlS5dw+fJleHl5Yfjw4S7xJmbQoEEQQqCyshJ1dXVKj+M2GBcXJ4RAdHQ0fve730GtVmP16tV46623YDAY7DdE+sMf/gCLxYIZM2bg8ccfd4kNnlxTcXExjEYjevTogUceeUTpce5LCAGdTgeNRoO6ujpUVVUpPZLb8FB6AGo/lUqF559/HqdOncK6deuwbNky7NmzB7169UJOTg70ej2GDh2KZcuWOe1poeT6JEnCiRMnAHx3qryrrJC1Wi26deuGiooKlJaWKj2O22Bc3IRGo0F6ejo0Gg3+9re/Yd++fQD+/+ZIf/nLXxAaGspVCzmMEALPPPMMhgwZgkceecRl/l/TaDR49NFHUVFRgTNnzvCqFTJhXGSm5Kd8AwMDkZ6ejmnTpmHLli24desWRo0ahRkzZtivfMxPIZMj9evXD/369bP/tyv8/6ZSqZCQkABvb28MHToU58+fV3okt8C4yEAIgZKSErz++utKj2IXHByM4OBgXL58Ge+//36bn1dUVOQy7zjJeQghcO7cOXz88cdKj/JQbDYbwsLCUFlZidLSUm4DMhCSK7y1cHJmsxllZWWwWq1Kj9JuKpUK4eHh8PLyUnoUciHNzc2orKx0m22gT58+PD7ZTowLERHJjqciuwhJkuy/iDorm80Go9EIm82m9Ch0H4yLizh+/Dg8PDxw/PhxpUchUszZs2cRHx/P64C5AMaFiIhkx7gQEZHsGBciIpId40JERLJjXIiISHaMCxERyY5xISIi2TEuREQkO8aFiIhkx7gQEZHsGBciIpId40JERLJjXIiISHaMCxERyY5xISIi2TEuLkCSJNTW1gIAamtrecMw6pRatgOz2cztwAUwLk5Mr9cjIyMDERERSElJgc1mQ0pKCiIiIpCRkQG9Xq/0iEQOd+d2kJiYiDNnziAxMZHbgZMTEvPvlHJycjB9+nQYDAYAaPUuTQgBAPD19UV2djZSU1MVmZHI0bgduC7GxQnl5OQgLS0NkiTd817hKpUKQghs376dGxa5HW4Hro1xcTJ6vR6hoaFoamq65wbVQqVSQaPRoLKyEkFBQY4fkKgDcDtwfTzm4mTWrFkDg8HQpg0KAGw2GwwGA9auXevgyYg6DrcD18eVixORJAkREREoKyt7oDNhhBDQ6XQ4d+6cfT80kaviduAeGBcncuPGDWi12nY9PyQkRMaJiDoetwP3wN1iTqShoaFdz6+vr5dpEiLlcDtwD4yLE/H392/X8wMCAmSahEg53A7cA+PiREJCQhAeHv7A+4uFEAgPD0dwcLCDJiPqONwO3APj4kSEEFi4cOFDPXfRokU8iElugduBe+ABfSfD8/uJuB24A65cnExQUBCys7MhhIBKde9/npZPJm/atIkbFLkVbgeuj3FxQqmpqdi+fTs0Gg2EED9Y5rf8nkajwY4dOzBx4kSFJiVyHG4Hro1xcVKpqamorKxEeno6dDpdq8d0Oh3S09NRVVXFDYrcGrcD18VjLi5AkiTU1NSgvr4eAQEBCA4O5kFL6nS4HbgWxoWIiGTH3WJERCQ7xoWIiGTHuBARkewYFyIikh3jQkREsmNciIhIdowLERHJjnEhIiLZMS5ERCQ7xoWIiGTHuBARkewYFyIikh3jQkREsmNciIhIdv8Hda5XRSD1ydgAAAAASUVORK5CYII=",
      "text/plain": [
       "<Figure size 500x400 with 6 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model = model.prune()\n",
    "model.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "872915a5",
   "metadata": {},
   "source": [
    "Suppose we want to revert back to version 0.1, use model = model.rewind('0.1'). This starts a new round, meaning version 0.1 renamed to version 1.1."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "1692e33b",
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "rewind to model version 0.1, renamed as 1.1\n"
     ]
    },
    {
     "data": {
      "image/png": "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",
      "text/plain": [
       "<Figure size 500x400 with 22 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# revert to version 0.1 (if continuing)\n",
    "model = model.rewind('0.1')\n",
    "\n",
    "# revert to version 0.1 (if starting from scratch)\n",
    "#model = KAN.loadckpt('./model' + '0.1')\n",
    "#model.get_act(dataset)\n",
    "\n",
    "model.plot()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "0e3ae1a0",
   "metadata": {},
   "source": [
    "Suppose we do some more manipulation to version 1.1, we will roll forward to version 1.2"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "fb8a3d56",
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "| train_loss: 2.06e-02 | test_loss: 2.18e-02 | reg: 5.48e+00 | : 100%|█| 2/2 [00:00<00:00,  5.83it/s\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "saving model version 1.2\n"
     ]
    },
    {
     "data": {
      "image/png": "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c3ORnZ1tym0+kG3btmH48OH417/+hR49emjdnIAMEy5mG0TB4IHiv/OsqboBcEnYGLHfapv2qq6iAaDK0XiRFux0lxmmBl0uF3755RefI7gOHToEALjssst8qpLrrrsOCQkJANQ7oswoHn30URQXF2PRokW6fu+6D5dorFr8p4GC4R82RqxuwlnMjuThzkpSYu3EKEFz4sQJn0X3n376CVVVVYiNjUX79u19juBq0qRJre8j0ufF6MX27dsxdOhQvPPOO7j11lu1bk6NDBEu0bLRADVXK3J5h4z/iZ56qm6U3jEaoapRazFeTyHjcDjw888/+4TJ0aNHAQBNmjTxWXRv165dyCcGRmsVM3LkSJw9exafffaZbt+zrsMlmqqWUKoVufzDxr+68a5y1BbJEwi1rmq0OLIr0kHz+++/+wTJ1q1b4XQ6ERcXhw4dOkhBkpubK11tW0nRVsXw6uWf//wnevbsqXVzqqX7cDH7RgIoV63IFenqRg/frP0P+ebtULqC08uhwmr0eVVVFbZu3eoTJsePHwdw8Wq/3lXJNddcg9jY2LBfMxjRVsWMHDkSp0+fxpIlS3T5XnUbLtFQtUSiWpFLjepGD6FSHSWrGr2ESSChfA6MMRw5csRn0X379u1wuVxISEhAx44dfaoSPdxjJFqqmB07dmDIkCF4++230atXL62bcwldh4tZNwpAu2pFLr7jre4inYFusKbXQAlETlVT07AxwvsM9NlUVlbip59+koJk06ZNOHXqFICLN77yXnRv06YNYmJiItr2YEVLFfOXv/wFJ0+e1GX1ostwMXPVosdqRa5A1Q1w6aVsjKimAwP8qxqjvj/gjxtf8TPdN23ahB07dvjc+IofDtypUydkZmZq3WTZzF7F/Prrrxg8eDDefPNN3H777Vo3x4duw8VsGwFgnGpFrprCBjD27aO934f3+pR3sOj98G5v5eXl+Omnn3wuMX/27FkAQIsWLXzWSlq3bq3Li8GGwuxVzJNPPoljx45h6dKlunpvugsXM1YtZqhWqhNoesV/Ks1/TUOvt48OZu1ED0eg1YYxhn379vksuu/cuROiKKJOnTro1KmTT1WSnp7u81hveng/SjBrFcOrl4kTJ6J3795aN0eiy3Axy4cOmK9aCfdER73cYM27Xf5COYnRv2KLdFXDb3zFp7g2b96M4uJiAECrVq18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",
      "text/plain": [
       "<Figure size 500x400 with 22 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "model.fit(dataset, opt=\"LBFGS\", steps=2);\n",
    "model.plot()"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3 (ipykernel)",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.9.16"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
